package entity;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table
public class Compra extends NotaCompra {

	public Compra() {
		this.setCondPagamento(new CondPagamento());
		this.setFornecedor(new Fornecedor());
		this.setTransportadora(new Transportadora());
	}

	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE)
	private Integer id;

	@ManyToOne
	@JoinColumn(name = "idFornecedor")
	private Fornecedor fornecedor;

	@ManyToOne
	@JoinColumn(name = "idCondPagamento")
	private CondPagamento condPagamento;

	@Column
	private String observacoes;

	@Column
	@Temporal(TemporalType.DATE)
	private Date criacao;

	@Column
	@Temporal(TemporalType.DATE)
	private Date alteracao;

	@Column
	@Temporal(TemporalType.DATE)
	private Date cancelamento;

	public Date getCancelamento() {
		return cancelamento;
	}

	public void setCancelamento(Date cancelamento) {
		this.cancelamento = cancelamento;
	}

	public String getObservacoes() {
		return observacoes;
	}

	public void setObservacoes(String observacoes) {
		this.observacoes = observacoes;
	}

	public Date getCriacao() {
		return criacao;
	}

	public void setCriacao(Date criacao) {
		this.criacao = criacao;
	}

	public Date getAlteracao() {
		return alteracao;
	}

	public void setAlteracao(Date alteracao) {
		this.alteracao = alteracao;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Fornecedor getFornecedor() {
		return fornecedor;
	}

	public void setFornecedor(Fornecedor fornecedor) {
		this.fornecedor = fornecedor;
	}

	public CondPagamento getCondPagamento() {
		return condPagamento;
	}

	public void setCondPagamento(CondPagamento condPagamento) {
		this.condPagamento = condPagamento;
	}

}
